{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"Factor Analysis.ipynb","provenance":[],"collapsed_sections":[],"mount_file_id":"1Zx0x834gaOjXRTwgOO-hRLAyyxnQwd_a","authorship_tag":"ABX9TyNYk02gmaEcQKEI/bV2jno0"},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"code","metadata":{"id":"eJxDvAVovJR3","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":323},"outputId":"fc5adba4-0649-4b2a-afda-ab5bd18ae4ad","executionInfo":{"status":"ok","timestamp":1590193212834,"user_tz":-120,"elapsed":10393,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["!pip install factor_analyzer"],"execution_count":9,"outputs":[{"output_type":"stream","text":["Collecting factor_analyzer\n","\u001b[?25l  Downloading https://files.pythonhosted.org/packages/44/b5/cbd83484ca6dd4c6562c6d66a6a3a0ecf526e79b2b575b9fb4bf5ad172dd/factor_analyzer-0.3.2.tar.gz (40kB)\n","\r\u001b[K     |████████▏                       | 10kB 17.6MB/s eta 0:00:01\r\u001b[K     |████████████████▍               | 20kB 1.6MB/s eta 0:00:01\r\u001b[K     |████████████████████████▌       | 30kB 2.2MB/s eta 0:00:01\r\u001b[K     |████████████████████████████████| 40kB 1.8MB/s \n","\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (from factor_analyzer) (1.0.3)\n","Requirement already satisfied: scipy in /usr/local/lib/python3.6/dist-packages (from factor_analyzer) (1.4.1)\n","Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from factor_analyzer) (1.18.4)\n","Requirement already satisfied: scikit-learn in /usr/local/lib/python3.6/dist-packages (from factor_analyzer) (0.22.2.post1)\n","Requirement already satisfied: python-dateutil>=2.6.1 in /usr/local/lib/python3.6/dist-packages (from pandas->factor_analyzer) (2.8.1)\n","Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas->factor_analyzer) (2018.9)\n","Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.6/dist-packages (from scikit-learn->factor_analyzer) (0.15.1)\n","Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.6/dist-packages (from python-dateutil>=2.6.1->pandas->factor_analyzer) (1.12.0)\n","Building wheels for collected packages: factor-analyzer\n","  Building wheel for factor-analyzer (setup.py) ... \u001b[?25l\u001b[?25hdone\n","  Created wheel for factor-analyzer: filename=factor_analyzer-0.3.2-cp36-none-any.whl size=40380 sha256=5a90e777e7e61ce4827ff33fe2b8724e732980e5408834eba789bb5e71aa2c6c\n","  Stored in directory: /root/.cache/pip/wheels/4a/d0/57/f1330cb9c80e82d8d05391c74c94ed61ce3f03bf6157f3d6db\n","Successfully built factor-analyzer\n","Installing collected packages: factor-analyzer\n","Successfully installed factor-analyzer-0.3.2\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"DBfcy83k7vKJ","colab_type":"text"},"source":["##Chocolate"]},{"cell_type":"code","metadata":{"id":"AuEudBFbHIR_","colab_type":"code","outputId":"148ca2f4-4a62-4cb5-efc2-1ca3e11e7714","executionInfo":{"status":"ok","timestamp":1590193212836,"user_tz":-120,"elapsed":10381,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}},"colab":{"base_uri":"https://localhost:8080/","height":266}},"source":["import pandas as pd\n","\n","questions = ['How much chocolate do you eat?', \n","             'How much do you like chocolate?',\n","             'How often do you eat desserts?',  \n","             'How much sports do you do?', \n","             'How much running do you do?']\n","\n","K = [[1, 1, 1, 10, 8],\n","     [2, 2, 1, 8, 7],\n","     [4, 4, 5, 8, 8],  \n","     [6, 6, 5, 10, 9], \n","     [8, 9, 8, 10, 10],\n","     [10, 10, 8, 2, 2],\n","     [9, 8, 8, 1, 2]]\n","\n","K = pd.DataFrame(K)\n","K.columns = questions\n","K"],"execution_count":10,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>How much chocolate do you eat?</th>\n","      <th>How much do you like chocolate?</th>\n","      <th>How often do you eat desserts?</th>\n","      <th>How much sports do you do?</th>\n","      <th>How much running do you do?</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>1</td>\n","      <td>1</td>\n","      <td>1</td>\n","      <td>10</td>\n","      <td>8</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>2</td>\n","      <td>2</td>\n","      <td>1</td>\n","      <td>8</td>\n","      <td>7</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>4</td>\n","      <td>4</td>\n","      <td>5</td>\n","      <td>8</td>\n","      <td>8</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>6</td>\n","      <td>6</td>\n","      <td>5</td>\n","      <td>10</td>\n","      <td>9</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>8</td>\n","      <td>9</td>\n","      <td>8</td>\n","      <td>10</td>\n","      <td>10</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>10</td>\n","      <td>10</td>\n","      <td>8</td>\n","      <td>2</td>\n","      <td>2</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>9</td>\n","      <td>8</td>\n","      <td>8</td>\n","      <td>1</td>\n","      <td>2</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["   How much chocolate do you eat?  ...  How much running do you do?\n","0                               1  ...                            8\n","1                               2  ...                            7\n","2                               4  ...                            8\n","3                               6  ...                            9\n","4                               8  ...                           10\n","5                              10  ...                            2\n","6                               9  ...                            2\n","\n","[7 rows x 5 columns]"]},"metadata":{"tags":[]},"execution_count":10}]},{"cell_type":"code","metadata":{"id":"sPrHsBL-tZeN","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":85},"outputId":"d9a4468b-59a8-4b60-c761-eee1fcd2c561","executionInfo":{"status":"ok","timestamp":1590193212837,"user_tz":-120,"elapsed":10370,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["K.columns"],"execution_count":11,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Index(['How much chocolate do you eat?', 'How much do you like chocolate?',\n","       'How often do you eat desserts?', 'How much sports do you do?',\n","       'How much running do you do?'],\n","      dtype='object')"]},"metadata":{"tags":[]},"execution_count":11}]},{"cell_type":"code","metadata":{"id":"tP4PCOtBs_UE","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"a0bb0dbe-e4fd-4abf-8189-e096f60e4581","executionInfo":{"status":"ok","timestamp":1590193212838,"user_tz":-120,"elapsed":10361,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["import numpy as np\n","\n","X_ds = K['How much chocolate do you eat?']\n","y_ds = K['How much do you like chocolate?']\n","\n","print(np.corrcoef(X_ds, y_ds))"],"execution_count":12,"outputs":[{"output_type":"stream","text":["[[1.         0.98638132]\n"," [0.98638132 1.        ]]\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"wODTrCZdk3qS","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":985},"outputId":"bd9dfe68-eac4-4c64-899f-a3fc132accc8","executionInfo":{"status":"ok","timestamp":1590193212839,"user_tz":-120,"elapsed":10350,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["import matplotlib.pyplot as plt\n","import seaborn as sns\n","\n","corr = K.corr()\n","fig, ax = plt.subplots(figsize=(15,15))\n","#If you want to Generate a mask for the upper triangle\n","#mask = np.triu(np.ones_like(corr, dtype=np.bool))\n","#ax.set_facecolor((.21875, .21875, .21875))\n","#I choose not to because I can see the strength of the correlation across all variables\n","ax = sns.heatmap(\n","corr,\n","#mask=mask,\n","vmin=-1, vmax=1, center=0,\n","cmap=sns.diverging_palette(0, 256, n=200),\n","square=True,\n","ax=ax,\n","annot=True\n",")"],"execution_count":13,"outputs":[{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n","  import pandas.util.testing as tm\n"],"name":"stderr"},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 1080x1080 with 2 Axes>"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"sRKNPQuZus1y","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"b58b5e0d-1004-46b5-8b0c-d2243f49fac8","executionInfo":{"status":"ok","timestamp":1590193214390,"user_tz":-120,"elapsed":11886,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["  #adequancy test\n","from factor_analyzer.factor_analyzer import calculate_bartlett_sphericity\n","\n","#Bartlett's Test\n","chi_square_value,p_value=calculate_bartlett_sphericity(K)\n","print(\"Bartlett's Test\\t\\t\", chi_square_value, p_value)\n","\n","#Kaiser-Meyer-Oklin Test\n","from factor_analyzer.factor_analyzer import calculate_kmo\n","kmo_all,kmo_model=calculate_kmo(K)\n","print(\"Kaiser-Meyer-Oklin Test\\t\", kmo_model)"],"execution_count":14,"outputs":[{"output_type":"stream","text":["Bartlett's Test\t\t 46.50957680642777 4.845984827487528e-07\n","Kaiser-Meyer-Oklin Test\t 0.5609324783523286\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"Q3GpASpe2sHy","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"b68fff58-3ad5-4e4b-d608-94de106e0512","executionInfo":{"status":"ok","timestamp":1590193214391,"user_tz":-120,"elapsed":11875,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["  #choosing number of factors\n","from factor_analyzer.factor_analyzer import FactorAnalyzer\n","fa = FactorAnalyzer(rotation=None)\n","fa.n_factors = 7 #anche se cambio n_factors eigen resta invariato\n","fa.fit(K)\n","\n","#check Eigenvalues\n","ev, v = fa.get_eigenvalues()\n","ev\n","#6 factors are > 1: number of factors is 6"],"execution_count":15,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([3.82130818e+00, 1.12100002e+00, 4.93236990e-02, 4.60575471e-03,\n","       3.76234908e-03])"]},"metadata":{"tags":[]},"execution_count":15}]},{"cell_type":"code","metadata":{"id":"T0Gh8mpf383t","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":295},"outputId":"ddabb075-8cce-4eb0-c27e-2e8740307cc5","executionInfo":{"status":"ok","timestamp":1590193214391,"user_tz":-120,"elapsed":11863,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["# Create scree plot using matplotlib\n","import matplotlib.pyplot as plt\n","\n","plt.scatter(range(1,K.shape[1]+1),ev)\n","plt.plot(range(1,K.shape[1]+1),ev)\n","plt.title('Scree Plot')\n","plt.xlabel('Factors')\n","plt.ylabel('Eigenvalue')\n","plt.grid()\n","plt.show()"],"execution_count":16,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"7n6oJG3u5Ufl","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":68},"outputId":"e7bbe938-31f2-46b0-c800-edd3ca038ecb","executionInfo":{"status":"ok","timestamp":1590193214392,"user_tz":-120,"elapsed":11850,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["# Create factor analysis object and perform factor analysis using 5 factors\n","fa = FactorAnalyzer(rotation=\"varimax\")\n","fa.n_factors = 2\n","fa"],"execution_count":17,"outputs":[{"output_type":"execute_result","data":{"text/plain":["FactorAnalyzer(bounds=(0.005, 1), impute='median', is_corr_matrix=False,\n","               method='minres', n_factors=2, rotation='varimax',\n","               rotation_kwargs={}, use_smc=True)"]},"metadata":{"tags":[]},"execution_count":17}]},{"cell_type":"code","metadata":{"id":"kt2fd38w_sdj","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":102},"outputId":"6c787614-08f8-4632-c9e0-c47283eab106","executionInfo":{"status":"ok","timestamp":1590193214393,"user_tz":-120,"elapsed":11839,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["fa.fit(K)\n","fa.loadings_"],"execution_count":18,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 0.93039404, -0.36384281],\n","       [ 0.96447125, -0.23574802],\n","       [ 0.94287226, -0.23428363],\n","       [-0.34071538,  0.93051698],\n","       [-0.19221504,  0.97928564]])"]},"metadata":{"tags":[]},"execution_count":18}]},{"cell_type":"code","metadata":{"id":"2Pz2-f9XG9Ls","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":204},"outputId":"dc6743dd-aaab-4f54-ffe6-aea32b409f50","executionInfo":{"status":"ok","timestamp":1590193214394,"user_tz":-120,"elapsed":11829,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["from sklearn.datasets import load_digits\n","from sklearn.decomposition import FactorAnalysis\n","\n","#X, _ = load_digits(return_X_y=True)\n","transformer = FactorAnalysis(n_components=2, random_state=0)\n","X_transformed = transformer.fit_transform(K.transpose())\n","\n","X_transformed = pd.DataFrame(X_transformed)\n","X_transformed"],"execution_count":19,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>0</th>\n","      <th>1</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>-0.981981</td>\n","      <td>-0.671431</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>-0.981981</td>\n","      <td>-0.673716</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>-0.436436</td>\n","      <td>1.793529</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>1.200198</td>\n","      <td>-0.847317</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>1.200198</td>\n","      <td>0.398934</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          0         1\n","0 -0.981981 -0.671431\n","1 -0.981981 -0.673716\n","2 -0.436436  1.793529\n","3  1.200198 -0.847317\n","4  1.200198  0.398934"]},"metadata":{"tags":[]},"execution_count":19}]},{"cell_type":"code","metadata":{"id":"PCAmjPzdOo_e","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":68},"outputId":"5d7d546d-6666-4b22-9ac4-653ee599dc15","executionInfo":{"status":"ok","timestamp":1590193214394,"user_tz":-120,"elapsed":11818,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["fa.get_factor_variance()\n","#98% of the variance is explained through the use of 2 factors"],"execution_count":20,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(array([2.83787956, 2.06770975]),\n"," array([0.56757591, 0.41354195]),\n"," array([0.56757591, 0.98111786]))"]},"metadata":{"tags":[]},"execution_count":20}]},{"cell_type":"markdown","metadata":{"id":"5IR4Kj5l70k5","colab_type":"text"},"source":["##Big5"]},{"cell_type":"markdown","metadata":{"id":"MazNqaAZkqOL","colab_type":"text"},"source":["Tutorial from: https://www.datacamp.com/community/tutorials/introduction-factor-analysis"]},{"cell_type":"code","metadata":{"id":"xN7IXE3574ZA","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":419},"outputId":"5d2ec107-0435-472e-8fad-a88c02ee7ed5","executionInfo":{"status":"ok","timestamp":1590193214395,"user_tz":-120,"elapsed":11809,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["X = pd.read_csv('/content/drive/My Drive/Colab Notebooks/Projects/20200520_Factor Analysis/BIg_5.csv')\n","X.columns\n","X = X.drop(['Unnamed: 0', 'gender', 'education', 'age'], axis=1)\n","X.shape\n","X = X.dropna()\n","X"],"execution_count":21,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>A1</th>\n","      <th>A2</th>\n","      <th>A3</th>\n","      <th>A4</th>\n","      <th>A5</th>\n","      <th>C1</th>\n","      <th>C2</th>\n","      <th>C3</th>\n","      <th>C4</th>\n","      <th>C5</th>\n","      <th>E1</th>\n","      <th>E2</th>\n","      <th>E3</th>\n","      <th>E4</th>\n","      <th>E5</th>\n","      <th>N1</th>\n","      <th>N2</th>\n","      <th>N3</th>\n","      <th>N4</th>\n","      <th>N5</th>\n","      <th>O1</th>\n","      <th>O2</th>\n","      <th>O3</th>\n","      <th>O4</th>\n","      <th>O5</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>2.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>2.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>2.0</td>\n","      <td>2.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>6</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>2.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>1.0</td>\n","      <td>1.0</td>\n","      <td>6.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>2</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>2.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>2.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>2</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>6.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>2.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","      <td>4.0</td>\n","      <td>1.0</td>\n","      <td>3.0</td>\n","      <td>3</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>2.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>3.0</td>\n","      <td>2.0</td>\n","      <td>2.0</td>\n","      <td>2.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>3</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","    </tr>\n","    <tr>\n","      <th>...</th>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","    </tr>\n","    <tr>\n","      <th>2793</th>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>1.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","      <td>3.0</td>\n","      <td>1.0</td>\n","      <td>5.0</td>\n","      <td>6.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>6.0</td>\n","      <td>6.0</td>\n","      <td>1</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","    </tr>\n","    <tr>\n","      <th>2794</th>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>2.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>6.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","      <td>6.0</td>\n","      <td>1</td>\n","      <td>5.0</td>\n","      <td>6.0</td>\n","      <td>2.0</td>\n","    </tr>\n","    <tr>\n","      <th>2797</th>\n","      <td>2.0</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>1.0</td>\n","      <td>1.0</td>\n","      <td>2.0</td>\n","      <td>2.0</td>\n","      <td>6.0</td>\n","      <td>3.0</td>\n","      <td>6.0</td>\n","      <td>3.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>1.0</td>\n","      <td>5.0</td>\n","      <td>1</td>\n","      <td>6.0</td>\n","      <td>4.0</td>\n","      <td>3.0</td>\n","    </tr>\n","    <tr>\n","      <th>2798</th>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","      <td>2.0</td>\n","      <td>4.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>2.0</td>\n","      <td>6.0</td>\n","      <td>2.0</td>\n","      <td>2.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>4.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>6.0</td>\n","      <td>4.0</td>\n","      <td>1.0</td>\n","      <td>5.0</td>\n","      <td>2</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>1.0</td>\n","    </tr>\n","    <tr>\n","      <th>2799</th>\n","      <td>2.0</td>\n","      <td>3.0</td>\n","      <td>1.0</td>\n","      <td>4.0</td>\n","      <td>2.0</td>\n","      <td>5.0</td>\n","      <td>5.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>3.0</td>\n","      <td>1.0</td>\n","      <td>2.0</td>\n","      <td>2.0</td>\n","      <td>1.0</td>\n","      <td>2.0</td>\n","      <td>2.0</td>\n","      <td>1.0</td>\n","      <td>1.0</td>\n","      <td>3.0</td>\n","      <td>1</td>\n","      <td>3.0</td>\n","      <td>5.0</td>\n","      <td>1.0</td>\n","    </tr>\n","  </tbody>\n","</table>\n","<p>2436 rows × 25 columns</p>\n","</div>"],"text/plain":["       A1   A2   A3   A4   A5   C1   C2  ...   N4   N5   O1  O2   O3   O4   O5\n","0     2.0  4.0  3.0  4.0  4.0  2.0  3.0  ...  2.0  3.0  3.0   6  3.0  4.0  3.0\n","1     2.0  4.0  5.0  2.0  5.0  5.0  4.0  ...  5.0  5.0  4.0   2  4.0  3.0  3.0\n","2     5.0  4.0  5.0  4.0  4.0  4.0  5.0  ...  2.0  3.0  4.0   2  5.0  5.0  2.0\n","3     4.0  4.0  6.0  5.0  5.0  4.0  4.0  ...  4.0  1.0  3.0   3  4.0  3.0  5.0\n","4     2.0  3.0  3.0  4.0  5.0  4.0  4.0  ...  4.0  3.0  3.0   3  4.0  3.0  3.0\n","...   ...  ...  ...  ...  ...  ...  ...  ...  ...  ...  ...  ..  ...  ...  ...\n","2793  3.0  4.0  3.0  1.0  3.0  5.0  4.0  ...  5.0  6.0  6.0   1  4.0  5.0  2.0\n","2794  5.0  5.0  5.0  5.0  3.0  5.0  4.0  ...  5.0  2.0  6.0   1  5.0  6.0  2.0\n","2797  2.0  3.0  5.0  2.0  5.0  5.0  5.0  ...  3.0  1.0  5.0   1  6.0  4.0  3.0\n","2798  5.0  2.0  2.0  4.0  4.0  5.0  5.0  ...  4.0  1.0  5.0   2  5.0  5.0  1.0\n","2799  2.0  3.0  1.0  4.0  2.0  5.0  5.0  ...  1.0  1.0  3.0   1  3.0  5.0  1.0\n","\n","[2436 rows x 25 columns]"]},"metadata":{"tags":[]},"execution_count":21}]},{"cell_type":"code","metadata":{"id":"H64ISYMf7_cP","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"aa395cb4-4b25-42b7-aebb-d5611e3dc3cb","executionInfo":{"status":"ok","timestamp":1590193214395,"user_tz":-120,"elapsed":11799,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["  #adequancy test\n","from factor_analyzer.factor_analyzer import calculate_bartlett_sphericity\n","\n","#Bartlett's Test\n","chi_square_value,p_value=calculate_bartlett_sphericity(X)\n","print(\"Bartlett's Test\\t\\t\", chi_square_value, p_value)\n","\n","#Kaiser-Meyer-Oklin Test\n","from factor_analyzer.factor_analyzer import calculate_kmo\n","kmo_all,kmo_model=calculate_kmo(X)\n","print(\"Kaiser-Meyer-Oklin Test\\t\", kmo_model)"],"execution_count":22,"outputs":[{"output_type":"stream","text":["Bartlett's Test\t\t 18170.96635086924 0.0\n","Kaiser-Meyer-Oklin Test\t 0.848539722194922\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"OpoYtDLk8I_4","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":102},"outputId":"8aeeae02-ddba-42d0-de46-f61c194dd4ff","executionInfo":{"status":"ok","timestamp":1590193214396,"user_tz":-120,"elapsed":11791,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["  #choosing number of factors\n","from factor_analyzer.factor_analyzer import FactorAnalyzer\n","fa = FactorAnalyzer(rotation=None)\n","fa.fit(X, 2)\n","#check Eigenvalues\n","ev, v = fa.get_eigenvalues()\n","ev\n","#6 factors are > 1: number of factors is 6"],"execution_count":23,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([5.13431118, 2.75188667, 2.14270195, 1.85232761, 1.54816285,\n","       1.07358247, 0.83953893, 0.79920618, 0.71898919, 0.68808879,\n","       0.67637336, 0.65179984, 0.62325295, 0.59656284, 0.56309083,\n","       0.54330533, 0.51451752, 0.49450315, 0.48263952, 0.448921  ,\n","       0.42336611, 0.40067145, 0.38780448, 0.38185679, 0.26253902])"]},"metadata":{"tags":[]},"execution_count":23}]},{"cell_type":"code","metadata":{"id":"ZIXI57M78Np_","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":295},"outputId":"b61029d6-22f4-4a82-bd06-d3c43e06dee2","executionInfo":{"status":"ok","timestamp":1590193215565,"user_tz":-120,"elapsed":12950,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["# Create scree plot using matplotlib\n","import matplotlib.pyplot as plt\n","\n","plt.scatter(range(1,X.shape[1]+1),ev)\n","plt.plot(range(1,X.shape[1]+1),ev)\n","plt.title('Scree Plot')\n","plt.xlabel('Factors')\n","plt.ylabel('Eigenvalue')\n","plt.grid()\n","plt.show()"],"execution_count":24,"outputs":[{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAXgAAAEWCAYAAABsY4yMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deZxU1Z338c+v9+puemNpoWkkLsEFExHHkGgScCbBaFTME2c0MWbXeSZmdCYhiUmeRM2iTxxN4sTJjEYfnSziGhPRRE0EjU5cQEBQwF2gQZClGxp6rf49f1Q1NlDdVNN9+1bd+32/XvXqqlv31j2H0u+9dc6555q7IyIi0VMQdgFERCQYCngRkYhSwIuIRJQCXkQkohTwIiIRpYAXEYkoBbxIwMzsM2b2eNjlkPhRwEveMbOTzOx/zKzFzLaa2RNm9jchl+kyM+sys1Yza06X770H8DkLzewLQZRR4kcBL3nFzKqA+cC/A3VAA3A50DHIzyka/tJxu7tXAmOBx4F7zMwC2I9IVhTwkm/eCeDut7l70t3b3P0hd3+udwUz+6KZrTSzHWb2gpkdl17+upl93cyeA3aaWZGZzUifbTeb2TIzm9nnc6rN7CYz22BmTWb2fTMr3F8B3b0LuBU4CBi99/tm9j4zeyb9C+QZM3tfevkPgPcDP0v/EvjZkP6lJPYU8JJvXgSSZnarmX3EzGr7vmlmZwOXAecDVcAZwJY+q5wLnAbUAPXA/cD3Sf0a+Cpwt5mNTa97C9ANHAZMAz4M7Lf5xMxKgc8Aa919817v1aX3eR2p8L8WuN/MRrv7t4C/ABe5e6W7X5TFv4dIvxTwklfcfTtwEuDAjcBbZvZ7M6tPr/IF4Efu/oynvOzub/T5iOvcfa27twHnAQ+4+wPu3uPuDwOLgFPTn3cqcIm773T3TcCPgXMGKN7fm1kzsBaYDpyVYZ3TgJfc/Zfu3u3utwGrgNMP8J9EpF9BtEOKBMrdV5I6Q8bMjgB+BfyE1Nl5I/DKAJuv7fP8YOBsM+sbrsXAgvR7xcCGPs3oBXttv7c73P28/RR/AvDGXsveINWXIDKsFPCS19x9lZndAlyYXrQWOHSgTfo8Xwv80t2/uPdKZjaeVMftGHfvHqbiAqwndfDoaxLwxwzlExkSNdFIXjGzI8zsK2Y2Mf26kdSZ+5PpVX4BfNXMplvKYWa2d6D2+hVwupnNNrNCMyszs5lmNtHdNwAPAdeYWZWZFZjZoWb2wSFW4QHgnWb2iXQn7z8AR5EaGQSwEThkiPsQARTwkn92AO8BnjKznaSCfQXwFQB3vxP4AfCb9Lr3kupA3Ye7rwXOBL4JvEXqjH4ub/9/cT5QArwAbAPuAsYPpfDuvgX4aLq8W4CvAR/t0xn7U+DjZrbNzK4byr5ETDf8EBGJJp3Bi4hElAJeRCSiFPAiIhGlgBcRiaicGgc/ZswYnzx5Mjt37qSioiLs4oQmzvVX3eNZd4h3/YdS98WLF29297GZ3supgJ88eTKLFi1i4cKFzJw5M+zihCbO9VfdZ4ZdjNDEuf5DqbuZ7X1l9G5qohERiSgFvIhIRCngRUQiSgEvIhJRCngRkYjKqVE0B+LeJU1c/eBq1je3MaEmwdzZU5gzTVNri4jkdcDfu6SJS+9ZTltXEoCm5jYuvWc5gEJeRGIvr5torn5w9e5w79XWleTqB1eHVCIRkdyR1wG/vrltUMtFROIkrwN+Qk1iUMtFROIkrwN+7uwpJIoL91iWKC5k7uwpIZVIRCR3BNrJamavk7ptWhLodvfjh/PzeztSv33vClo7uplQXcbXTjlCHawiIozMKJpZfe43OezmTGugtaObb9+7gnv+6UQOqi4LalciInklr5toejXWlQOwZuuukEsiIpI7Ar3ptpm9Rupu9A78l7vfkGGdC4ALAOrr66fPmzeP1tZWKisrs97Pmzt7+MZf2vjiMSWc2FA8TKUPz2DrHyWqezzrDvGu/1DqPmvWrMX9Nn+7e2APoCH9dxywDPjAQOtPnz7d3d0XLFjgg9HRlfTJ35jv1z60elDb5arB1j9KVPf4inP9h1J3YJH3k6mBNtG4e1P67ybgt8AJQeynpKiA8VVlrN2mJhoRkV6BBbyZVZjZqN7nwIeBFUHtr7GunLVqgxcR2S3IM/h64HEzWwY8Ddzv7n8MameNdeXqZBUR6SOwYZLu/irw7qA+f2+T6srZuL2D9q4kZXtd/CQiEkeRGCYJqYAHWLdN89CIiECEAr6xLjX/jDpaRURSIhTwqTN4dbSKiKREJuDHVpZSVlyggBcRSYtMwJsZjbUaSSMi0isyAQ+9QyXVySoiAhEL+El15azbuqt3mgQRkViLVMA31pWzo6Ob5l1dYRdFRCR00Qr4Wg2VFBHpFamAnzRa88KLiPSKVMA31irgRUR6RSrgK0qLGF1RwlqNpBERiVbAg6YNFhHpFc2AVyeriEj0An5SXYKmbW10J3vCLoqISKgiF/CNteV09zgbWtrDLoqISKgiF/C988KrmUZE4i5yAa9pg0VEUiIX8OOryygsMA2VFJHYi1zAFxUW0FCT0MVOIhJ7kQt4SN2+TwEvInEXyYCfVFfOOnWyikjMRTLgJ9aWs7m1k50d3WEXRUQkNJEM+N6hkuu2qaNVROIrkgHfO1RS7fAiEmeRDPhJCngRkWgGfG15MZWlRbrYSURiLZIBb2ZMrE0o4EUk1iIZ8JBqptF8NCISZ5EN+NSNP9pw97CLIiISisgG/KS6ctq6kmxu7Qy7KCIioQg84M2s0MyWmNn8oPfVl0bSiEjcjcQZ/MXAyhHYzx4a6xKApg0WkfgKNODNbCJwGvCLIPeTycRazQsvIvFmQXZCmtldwJXAKOCr7v7RDOtcAFwAUF9fP33evHm0trZSWVk55P1fsmAXx4wp5PPHlA75s0bScNU/H6nu8aw7xLv+Q6n7rFmzFrv78ZneKxpSqQZgZh8FNrn7YjOb2d967n4DcAPA8ccf7zNnzmThwoXMnNnvJlk7bOX/0FVozJz53iF/1kgarvrnI9V9ZtjFCE2c6x9U3YNsojkROMPMXgfmASeb2a8C3N8+eodKiojEUWAB7+6XuvtEd58MnAM84u7nBbW/TBrrylnf0kZnd89I7lZEJCdEdhw8pIZKusP6Zp3Fi0j8jEjAu/vCTB2sQWusTQ2V1Fh4EYmjaJ/Bj04PldScNCISQ5EO+PpRZZQUFugMXkRiKdIBX1CgaYNFJL4iHfAAEzVUUkRiKvIBP6kuoSYaEYmlGAR8OS1tXbS0dYVdFBGRERX5gG/UpGMiElPRD/g6BbyIxFN8Al5j4UUkZiIf8NWJYqoTxepoFZHYiXzAQ6qjVUMlRSRuYhHwjXW62ElE4icmAV/Oum1t9PQEd/cqEZFcE4+Ary2nM9nDxh3tYRdFRGTExCLgJ6VH0qzZomYaEYmPWAT820Ml1dEqIvERi4BvqElgpht/iEi8xCLgS4oKmFCtkTQiEi+xCHhA88KLSOzEJuAn1ZWriUZEYiU2Ad9YV86mHR20dyXDLoqIyIiITcD3DpVcp0nHRCQmYhPwjXUJAM1JIyKxkVXAm1m9md1kZn9Ivz7KzD4fbNGGV+9YeLXDi0hcZHsGfwvwIDAh/fpF4JIgChSUsZWllBUXKOBFJDayDfgx7n4H0APg7t1AXvVWmhmNteUaKikisZFtwO80s9GAA5jZDKAlsFIFREMlRSROirJc71+B3wOHmtkTwFjg44GVKiCNdeU89dpW3B0zC7s4IiKByirg3f1ZM/sgMAUwYLW7dwVasgA01pXT2tHNtl1d1FWUhF0cEZFAZRXwZnb+XouOMzPc/b8DKFNgJvUZSaOAF5Goy7aJ5m/6PC8D/hZ4FsirgH97LPwujm2sCbk0IiLByraJ5st9X5tZDTAvkBIFqLFWY+FFJD4O9ErWncA7BlrBzMrM7GkzW2Zmz5vZ5Qe4r2FTUVrE6IoSTVcgIrGQbRv8faSHSJI6KBwF3LGfzTqAk9291cyKgcfN7A/u/uQBl3YYNGqopIjERLZt8P/W53k38Ia7rxtoA3d3oDX9sjj98P63GBmNdeUsXbst7GKIiATOUjkc0IebFQKLgcOA69396xnWuQC4AKC+vn76vHnzaG1tpbKyMpAy3fViJw+81sWNHyqnsCA3x8IHWf9cp7rHs+4Q7/oPpe6zZs1a7O7HZ3zT3ft9ADuA7RkeO4DtA2271+fUAAuAqQOtN336dHd3X7BggQdl3tNv+MFfn+9rtuwMbB9DFWT9c53qHl9xrv9Q6g4s8n4ydcAmGncfdUCHlH0/p9nMFgCnACuG4zMPVO9ImrVbd+2eYVJEJIoGNYrGzMaZ2aTex37WHZseTomZJYAPAasOvKjDQ9MGi0hcZDuK5gzgGlLTBW8CDgZWAkcPsNl44NZ0O3wBcIe7zx9acYdufHUZhQWmgBeRyMt2FM33gBnAn9x9mpnNAs4baAN3fw6YNsTyDbuiwgIaahKs3aY7O4lItGXbRNPl7luAAjMrcPcFQOZe2zzQWJfQGbyIRF62Ad9sZpXAY8CvzeynpK5mzTv3LmliyZpmlq1t5sSrHuHeJU1hF0lEJBDZBvyZwC7gX4A/Aq8ApwdVqKDcu6SJS+9Zzq7O1M2omprbuPSe5Qp5EYmkbAP+QmC8u3e7+63ufl26ySavXP3gatq69rzTYFtXkqsfXB1SiUREgpNtwI8CHjKzv5jZRWZWH2ShgrK+OXPHan/LRUTyWVYB7+6Xu/vRwJdIDX981Mz+FGjJAjChJjGo5SIi+Wyw0wVvAt4EtgDjhr84wZo7ewqJ4sI9lhWaMXf2lJBKJCISnKwC3sz+ycwWAn8GRgNfdPd3BVmwIMyZ1sCVHzuGhpoEBlSWFtHjzpHjq8IumojIsMv2QqdG4BJ3XxpkYUbCnGkNzJnWAMC2nZ28/0cL+MmfXuTn500PuWQiIsMr2zb4S4HlZjYh27lo8kFtRQmfO+kd/GHFm6xoagm7OCIiwyrbJpqLgI3Aw8D96Ufo88oMh8+f9A6qyor48cMvhl0UEZFhlW0n6yXAFHc/2t2PST/yrg0+k+pEMRd+8FD+vGoTz67RnZ5EJDqyDfi1QGTbMD7zvsnUVZToLF5EIiXbTtZXgYVmdj+pm2kD4O7XBlKqEVZRWsQ/fvAQfvjAKp56dQvvOWR02EUSERmybM/g15Bqfy8hdVVr7yMyPjVjMmNHlXLNwy/23mZQRCSvZXUG7+6XA5hZubtHcp7dREkhX5p5KJfd9wJPvLyFkw4fE3aRRESGJNtRNO81sxdI33LPzN5tZv8RaMlCcM4JkxhfXcY1D6/WWbyI5L1sm2h+AswmNUUB7r4M+EBQhQpLWXEhXz75cJasaWbB6k1hF0dEZEiynovG3dfutSiZccU8d/bxE2msS3Ct2uJFJM9lPUzSzN4HuJkVm9lXSd10O3KKCwv455MPZ0XTdh58fmPYxREROWDZBvw/kpoquAFoAo5Nv46ks6Y1cMiYCn788Iv09OgsXkTyU7Zz0Wx290+6e727j3P38/Lxjk7ZKios4OK/O5zVG3cwf/mGsIsjInJAshomaWbXZVjcAixy998Nb5Fyw+nvmsD1C17mJ396kVOnHkRR4WCnzhcRCVe2qVVGqlnmpfTjXcBE4PNm9pOAyhaqggLjXz/0Tl59ayf3Ll0fdnFERAYt26kK3gWc6O5JADP7OfAX4CRgeUBlC93sow/i6AlVXPfnlzjz2AkU6yxeRPJItolVC1T2eV0B1KUDvyPzJvnPLHUWv2brLu5avC7s4oiIDEq2Z/A/Apamb9tnpC5y+qGZVQB5d/PtwTj5iHEcXFfOt3+7gkvvWU5DTYK5s6fsviuUiEiuynYumpvM7AHghPSib7p7b8P03EBKliN+t3Q9G1raSaYvempqbuPSe1KtUgp5EcllAzbRmNkR6b/HAeNJzQu/FjgovSzyrn5wNZ3Jnj2WtXUlufrB1SGVSEQkO/s7g/8K8EXgmgzvOXDysJcox6xvbhvUchGRXDFgwLv7F9N/Z41McXLPhJoETRnCvLaiJITSiIhkb39NNF/r8/zsvd774X62bTSzBWb2gpk9b2YXD62o4Zg7ewqJ4sI9lplB865O7tbIGhHJYfsbJnlOn+eX7vXeKfvZthv4irsfBcwAvmRmRw2yfKGbM62BKz92DA01CQxoqElw5VnHMOOQ0XzlzmXc/PhrYRdRRCSj/bXBWz/PM73eg7tvADakn+8ws5WkJit7YbCFDNucaQ37jJiZM62Bi+ct4Yr5L9Dc1sW//N3hmA34TyIiMqJsoDnPzexZdz9u7+eZXg+4E7PJwGPAVHffvtd7FwAXANTX10+fN28era2tVFZW7vM5uSbZ49zyfCd/aermbycV8ckjSygYhpDPl/oHQXWPZ90h3vUfSt1nzZq12N2Pz/imu/f7IHVTj+3ADlJNLtv7vO4aaNs+n1EJLAY+tr91p0+f7u7uCxYs8HzR09Pj37vveT/46/P94tue9c7u5JA/M5/qP9xU9/iKc/2HUndSkz5mzNT9jaIpHOj9/TGzYuBu4Nfufs9QPitXmRnfOu1IaitKuPrB1exo7+b6Tx5HWfGQ/ulERIYs26kKBs1SDdI3ASvd/dqg9pMLzIwvzTqMqkQx3/ndCs6/+WnOOraBny14mfXNbUzQ9AYiEoLAAh44EfgUsNzMlqaXfdPdHwhwn6H61IyDqU4Uc8m8JTzz2lZ6ezc0vYGIhCGw+W/d/XF3N3d/l7sfm35ENtx7nfHuCdSWl7B317WmNxCRkaYJzgOwdWdnxuWa3kBERpICPgATahKDWi4iEgQFfAAyTW8AqTZ6EZGRooAPwN7TG4wbVUpVWRE3/uVVVm7Yvt/tRUSGQ5CjaGJt7+kNXn2rlU/c+BTn3vgkv/r8e5jaUB1i6UQkDnQGP0IOGVvJ7RfOoKKkiE/c+CRL1zaHXSQRiTgF/Ag6eHQFt184g5ryEs77xVMsen1r2EUSkQhTwI+wibXl3H7hDMaNKuX8m5/mr69sCbtIIhJRCvgQjK9OMO+CGTTUJPjsLU/z+Eubwy6SiESQAj4k46rKuO2CGUweXcHnbn2GBas2hV0kEYkYBXyIxlSWctsXZ/DO+kou+OUivjf/BU686hGWN7Vw4lWPcO+SprCLKCJ5TAEfstqKEn79hRmMr05w0+Ov7b7Bd+8EZQp5ETlQCvgcUJ0opivZs/v1mtbUXaE0QZmIDIUCPke82dK++/lD697+WjRBmYgcKAV8jug7EVlLl2VcLiIyGAr4HNF3grJjR6eaa0oKC5g7e0qYxRKRPKa5aHJE77w1Vz+4mvfX72D5tkKqEkXMPvqgkEsmIvlKZ/A5ZM60Bp74xslMn1TNf3/uBDa3dnLtw+pkFZEDo4DPUSceNoZzT5jETY+/xrNrtoVdHBHJQwr4HPbNU4+gvqqMr931HO1dybCLIyJ5RgGfw0aVFXPlx47h5U2tXPfnl8IujojkGQV8jps5ZRwfnz6R/3rsVZavawm7OCKSRxTweeD/nHYUoytKmHvXMjq7e/a/gYgICvi8UF1ezA/OOoZVb+7g+gUvh10cEckTCvg88aGj6jnz2Alcv+Bl3bhbRLKigM8j3z39aGrKi5l717I9JicTEclEAZ9H6ipKuOLMqaxo2s4Nj70adnFEJMcp4PPMqceM5yNTD+Knf3qJlzbuCLs4IpLDFPB56Iozp1JRWsjcu54j2eNhF0dEcpQmG8tDY0eVctkZR3PxvKVMu+IhdrR3M6EmwdzZU3ZPWiYiooDPUz09ToHB9vZu4O1b/AEKeREB1ESTt/7toRfZu3VGt/gTkb4CC3gzu9nMNpnZiqD2EWf93cpPt/gTkV5BnsHfApwS4OfHWn+38htVVkSPOl5FhAAD3t0fA7YG9flx1/cWf70Kzdje3s3nbn2GrTs7QyqZiOQKcw/ubM/MJgPz3X3qAOtcAFwAUF9fP33evHm0trZSWVkZWLlyXbb1b27rYmNLO53JHkoKCxhXVcqzm43bVnYyqsT438eW8s7awv1+Ti6J83cf57pDvOs/lLrPmjVrsbsfn/FNdw/sAUwGVmS7/vTp093dfcGCBR5nQ63/8nXN/oEfPeKHXHq/X7/gJU8me4anYCMgzt99nOvuHu/6D6XuwCLvJ1M1iiaCpjZUc9+XT+KUow/iR39czWdveYYtrR1hF0tERpgCPqKqyor52Sem8b05U/nrK1s47brHeeZ1dYmIxElgFzqZ2W3ATGCMma0DvuvuNwW1P9mXmfGpGQczrbGGi37zLOfc8CQfmXoQz76xjQ0t7br6VSTiAgt4dz83qM+Wweltsjn/pqeZ/9yG3cuzvfr13iVNXP3gatY3t+mgIJJHNFVBTIwqK2bj9vZ9lrd1JZl71zIeXrmRxtpyGusSNNaWM6munAk1CR5YvoFL71lOW1cS0JQIIvlEAR8jG1r2DXiArqSzoqmFh55/k67k28NmzaAAI7nXUNreKREU8CK5TQEfIxNqEjRlmMqgoSbBo3Nnkexx3tzezrqtu1i7rY21W3fx0z+/lPGzmprbuHvxOt576Oh9rqpVk45IblDAx8jc2VP2aG4BSBQXMnf2FAAKC4yGmgQNNQnek37/rsXrMh4UCgy+cucyACaPLue9h47hfYeOpnlXJz98YJWadERygAI+RnoDdjBn1/0dFH5w1lSOHF/F/7yyhb++soX5y9Zz29NrMn5GW1eS//vHVVl15J7TuINvXfVIVmf9+qUgMjAFfMzMmdYwqBDc30HhyPFVfP6kd9Cd7OH59ds58/onMn7OhpZ2jrnsQcaNKmXcqDLGVZVSX1XGuFGlvLFlF7c/s5bOZA+7xqfO+r9x93N77H9v9y5pGnTnrw4IEjcKeNmvbA4KRYUFvLuxhoZ+2vmryor42HET2bSjnU3bO3h2zTY2be+go7tnj/V+vjL1n2R7dw+X3L6U7/xuBYmSQhLFhZTtfhSwZE3zPtu2dSW54r4XOKi6jLqKEmrLS6gtL6aosOCADgigg4LkNwW8DKv+mnSuOHPqPsHo7mxv7+bdlz+0e9nJ45M8suHtCdI+dtxE2jqTtHcnaetM0taVpKOrZ59w77V1Vyfn3PDkHsuqE8W0dnTvc//atq4kl9/3PPVVZYwdVcrYylKqEkWYGXBgvxJ6t9NBQXKBAl6G1WDa+c2M6kTxHmf908Y4j6SvxWqoSXDZGUdn3M+JVz2S8ZfCuFGl/PgfjmXrzk627epM/d3Zya1/fSPj52zb1cW5N759QCgpLGBMZQljRpXy4ps7aM/wK+GHD6zkpMPHUFteQmGB7fH+gR4URIKggJdhN9h2/v2N7hnMNt889UhOPGzMPuv/aeWmAQ8Im1s7eGtHB2+1drB5RyebWzv2Cfdem3Z0cPz3/4QZ1JaXMLqihNGVJYyuLGXhqk17lAlSB4UfDdDJfCAdzCLZUMBL6Pqe9cMOGrJo1hjsiKDBHhCg/18JdeUlXPKhw9nc2smW1g627uxkS2snKzdsZ2dnMsMnwfqWdk686hEOqi5LPapSj7XbdjHv6VQHc3eDmoFkeCngJSf0nvUvXLiQL39y5qC2yXZdGJ4hot85/ah+t+vvoFBZWsQJ76jjzZZ2Vq7fziMr9z3T/+nzqf8d27qSfPXOZfzyyTeoKiuiKlFMdaKYqrJiqhJFvLJpJ79d0kRnMvULI5tRR6CDQhwp4CU2hnuIaCb9HRS+P2fPTuZMHcwn1id5YmOqg7m7xykrLmBzayevvLWT7e1dbG/ror/b7bZ39/CvdyzlPx99ZXeH8Zjdf0t48c1Wbn7itd2d00ENK9VBJLco4EUGENRBIVMH84xxzhMbU+831CT49Rdm7LGNu7OzM8nU7z6Ycd89DhNry9nc2sGrb+3krdYOOvvpR4C3fyn85uk1VJWlfyUkiqgqK2bN1l3Mf2797rmJmprb+Prdz7G5tYMzjp1Aojg1dLWo8O1bSgx11JH6IIafAl5kmA3moDCYDmYzo7K0qN9rDRpqEvzi02/fmtPd2dHRzVs7Ovjbax7NuP/uHseAddt2sXJDN9vbutjR0Z1x3Y7uHr5//0q+f//K3cuKC42yokLKSgrZurMz41DUy37/PFWJIg6qSnBQdRm15cWZh6I26oK14aaAFwnRgXQwZ3tQMLNUu31Z8YAHhdsvfO8ey7qTPRz2rT/0u//vzZlKe2eS9q7UdQltXanntz29NuP6zW1dfO6WRbtflxQVpDqZq8tYvq5ldz1WNadCv60ryVV/WMVp7xpPceGeN53TtQmDo4AXCdlgO5iHs28g0y+FosKCAQ8In5pxcMZ9PPbi5ozbHFRVxn+cdxwbW9rZ0NLOm9vbebMl9ehbnvvXvn2B25vb2zn8W3+gqqyI0ZWl1FWUUFdRwhMvb844DPXKB1Yya8o4RpUVUTBM1yYM9qCQiwcRBbxIHgq6w3g4r034xkeO4LhJtRm36Tvq6NOHd3PrS6lIqk4U89kTJ7N1Z+fux9qtu9jVzzDUjTs6ePcVD1FgqW1rykuoKS+mJlHMk69uzXhQuGL+C4wdVbp7KozyksLdzx9+fiPfundF1geFXL3ATQEvEhNBDysd6i+LMWWpZYniQi4/4+iM2/U3DLW2vJiLTj6cll2dbNvVRXNbF827Otnc2rlPuPfaurOTT/7iqX7LtrfeTun/WPgyhQUFFBcaRQVGUWEBy9Zmnhsp7BvjKOBFJKPB/ko4kG0G2wfR36+E756e+YAA/R8UxlaW8rNPTEv1I6TnOdqV7lvo25HcV3ePc+jYSrqSTndPD91JpyvZ/9xITc1trGhqYWpD9UD/DIFRwItIqAbTBzGc/Q/fOu1I3nPI6Izb/L8nXu+3D+Ln503fZ3l/BxGAj/774xw1voqzj5/InGMbqK0oGbCOw0kBLyJ5JcwL1vrrg+hv/f/z0SNJ9jh3LFrH5fe9wJUPrOJDR9Vz9vETef/hY7lv2fpArwFQwItI5AV9UNjf+p9672RWbtjOnYvW8dsl67h/+QaqE8Xs7Oimu8ezvgZgsBTwIiIZHMhBYaD1jxxfxXdOP4pvfOQIHlm1kYvnLaPl1IUAAAWESURBVE2FO3D7q6khosPdMVuw/1VERGS4lBQVcMrU8XtMI1Fb8vYVwOv7acs/EAp4EZEQTKhJ7H7+4Yk9GZcPlQJeRCQEc2dPIVFcuMey/V1MNlhqgxcRCcGBzEM0WAp4EZGQHMiNbgZDTTQiIhGlgBcRiSgFvIhIRCngRUQiSgEvIhJR5t7PbdpDYGZvAW8AY4DNIRcnTHGuv+oeX3Gu/1DqfrC7j830Rk4FfC8zW+Tux+9/zWiKc/1V93jWHeJd/6DqriYaEZGIUsCLiERUrgb8DWEXIGRxrr/qHl9xrn8gdc/JNngRERm6XD2DFxGRIVLAi4hEVM4FvJmdYmarzexlM/tG2OUZSWb2upktN7OlZrYo7PIEzcxuNrNNZraiz7I6M3vYzF5K/60Ns4xB6aful5lZU/r7X2pmp4ZZxqCYWaOZLTCzF8zseTO7OL08Lt99f/Uf9u8/p9rgzawQeBH4ELAOeAY4191fCLVgI8TMXgeOd/dYXOxhZh8AWoH/dvep6WU/Ara6+1XpA3ytu389zHIGoZ+6Xwa0uvu/hVm2oJnZeGC8uz9rZqOAxcAc4DPE47vvr/5/zzB//7l2Bn8C8LK7v+runcA84MyQyyQBcffHgK17LT4TuDX9/FZS/+FHTj91jwV33+Duz6af7wBWAg3E57vvr/7DLtcCvgFY2+f1OgKqeI5y4CEzW2xmF4RdmJDUu/uG9PM3gfowCxOCi8zsuXQTTiSbKPoys8nANOApYvjd71V/GObvP9cCPu5OcvfjgI8AX0r/jI8tT7Uf5k4bYvB+DhwKHAtsAK4JtzjBMrNK4G7gEnff3ve9OHz3Geo/7N9/rgV8E9DY5/XE9LJYcPem9N9NwG9JNVnFzcZ0G2VvW+WmkMszYtx9o7sn3b0HuJEIf/9mVkwq3H7t7vekF8fmu89U/yC+/1wL+GeAw83sHWZWApwD/D7kMo0IM6tId7hgZhXAh4EVA28VSb8HPp1+/mngdyGWZUT1hlvaWUT0+zczA24CVrr7tX3eisV331/9g/j+c2oUDUB6aNBPgELgZnf/QchFGhFmdgips3ZI3Qz9N1Gvu5ndBswkNVXqRuC7wL3AHcAkUlNH/727R64zsp+6zyT189yB14EL+7RJR4aZnQT8BVgO9KQXf5NUO3Qcvvv+6n8uw/z951zAi4jI8Mi1JhoRERkmCngRkYhSwIuIRJQCXkQkohTwIiIRpYCXyDOzZJ8Z+pamLw8fzPZzzOyoYEonEpyisAsgMgLa3P3YIWw/B5gPZD2rqZkVuXv3EPYpMmQaBy+RZ2at7l7Z53Ulqaska4Fi4Nvu/rv0e+cDXyV1sclzpOYHmQ+0pB//CxgF/CdQDrwCfM7dt5nZQmApcBJwG7CG1AVMSaDF3WM9t5CMPAW8RJ6ZJUldNQjwGnA2UO7u281sDPAkcDhwFKmrid/n7pvNrM7dt5rZLcB8d78r/XnPAV9290fN7Aqgyt0vSQf8C+7+T+n1lgOnuHuTmdW4e/PI1VpETTQSD3s00aQnevpherbOHlJTUtcDJwN39t5wJdNl8mZWDdS4+6PpRbcCd/ZZ5fY+z58AbjGzO4B7EBlh6mSVOPokMBaYng7+jUDZMH32zt4n7v6PwLdJzZC62MxGD9M+RLKigJc4qgY2uXuXmc0CDk4vfwQ4uzeIzawuvXwHqXZ33L0F2GZm70+/9yngUTIws0Pd/Sl3/w7wFntOhS0SODXRSBz9Grgv3Ua+CFgF4O7Pm9kPgEfT7fZLSN0ndB5wo5n9M/BxUlPZ/qeZlQOvAp/tZz9Xm9nhgAF/BpYFVyWRfamTVUQkotREIyISUQp4EZGIUsCLiESUAl5EJKIU8CIiEaWAFxGJKAW8iEhE/X+qlCVjoKMPNAAAAABJRU5ErkJggg==\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"vI2sqdLd8STP","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":68},"outputId":"e605147b-ce92-4f58-999a-444b0e4dd406","executionInfo":{"status":"ok","timestamp":1590193215566,"user_tz":-120,"elapsed":12940,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["# Create factor analysis object and perform factor analysis using 5 factors\n","from factor_analyzer.factor_analyzer import FactorAnalyzer\n","\n","fa = FactorAnalyzer(rotation=\"varimax\")\n","fa"],"execution_count":25,"outputs":[{"output_type":"execute_result","data":{"text/plain":["FactorAnalyzer(bounds=(0.005, 1), impute='median', is_corr_matrix=False,\n","               method='minres', n_factors=3, rotation='varimax',\n","               rotation_kwargs={}, use_smc=True)"]},"metadata":{"tags":[]},"execution_count":25}]},{"cell_type":"code","metadata":{"id":"G4tqTerJ-gnP","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":68},"outputId":"e088d4b3-f780-4a89-bcfd-490546663a89","executionInfo":{"status":"ok","timestamp":1590193215567,"user_tz":-120,"elapsed":12930,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["#default ha 3 n_factors, siccome non possiamo cambiarli in fit dobbiamo\n","#applicare il cambiamento direttamente a fa\n","fa.n_factors = 5\n","fa.fit(X)\n","#non se se è un bug, ma l'attributo sul sito è loadings, per non causare errore bisogna aggiungere il suffisso _"],"execution_count":26,"outputs":[{"output_type":"execute_result","data":{"text/plain":["FactorAnalyzer(bounds=(0.005, 1), impute='median', is_corr_matrix=False,\n","               method='minres', n_factors=5, rotation='varimax',\n","               rotation_kwargs={}, use_smc=True)"]},"metadata":{"tags":[]},"execution_count":26}]},{"cell_type":"code","metadata":{"id":"-csiXNHVKgai","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":442},"outputId":"bdeb9a65-912c-4a0f-dc98-5d447f96739c","executionInfo":{"status":"ok","timestamp":1590193215568,"user_tz":-120,"elapsed":12922,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["fa.loadings_"],"execution_count":27,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 0.11112641,  0.04046493,  0.02279796, -0.42816554, -0.07793074],\n","       [ 0.029588  ,  0.21371606,  0.13903739,  0.62694553,  0.06213921],\n","       [ 0.00935691,  0.31784809,  0.10933115,  0.65074261,  0.05619584],\n","       [-0.06647574,  0.20456624,  0.23058374,  0.43562383, -0.1127004 ],\n","       [-0.12211317,  0.39303367,  0.08786921,  0.53708686,  0.0667076 ],\n","       [ 0.01041556,  0.07018423,  0.54582379,  0.03887794,  0.20958365],\n","       [ 0.08957412,  0.0332704 ,  0.64873118,  0.10278247,  0.11543389],\n","       [-0.03085502,  0.02390651,  0.55703585,  0.11157762, -0.00518271],\n","       [ 0.24041008, -0.06498371, -0.63380555, -0.03749823, -0.107535  ],\n","       [ 0.29031777, -0.1763948 , -0.56246672, -0.04752477,  0.03682235],\n","       [ 0.04281888, -0.5748346 ,  0.03314352, -0.10481258, -0.05879528],\n","       [ 0.24474268, -0.67873071, -0.10248265, -0.11251716, -0.04200997],\n","       [ 0.02418041,  0.53681627,  0.08301031,  0.2579065 ,  0.28087733],\n","       [-0.11561383,  0.64683266,  0.1020229 ,  0.3061013 , -0.07342224],\n","       [ 0.0361453 ,  0.50406876,  0.31289947,  0.09035398,  0.21373932],\n","       [ 0.78680747,  0.0789227 , -0.04599686, -0.21636343, -0.08470394],\n","       [ 0.75410893,  0.02730105, -0.03056816, -0.19374409, -0.01030371],\n","       [ 0.73172071, -0.0614302 , -0.06708415, -0.02771164, -0.00421723],\n","       [ 0.59060205, -0.3453884 , -0.17890189,  0.00588617,  0.07522516],\n","       [ 0.53785785, -0.16129053, -0.03730883,  0.10093148, -0.14976921],\n","       [-0.00222396,  0.21300477,  0.1150799 ,  0.06155001,  0.50490717],\n","       [ 0.17578784,  0.00455977, -0.09972866,  0.08180863, -0.46892525],\n","       [ 0.02673618,  0.31095612,  0.07687283,  0.12688914,  0.59600659],\n","       [ 0.22058215, -0.19119609, -0.0219056 ,  0.15547477,  0.36901221],\n","       [ 0.08540105, -0.00534708, -0.06272953, -0.01038386, -0.53377797]])"]},"metadata":{"tags":[]},"execution_count":27}]},{"cell_type":"code","metadata":{"id":"bQX4LDcp-Sfd","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":824},"outputId":"54b80f1d-46e9-410f-c2a5-71abb450dd6c","executionInfo":{"status":"ok","timestamp":1590193215568,"user_tz":-120,"elapsed":12912,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["#trasformiamo in dati comprensibili\n","factors = pd.DataFrame(fa.loadings_.transpose())\n","factors.columns = X.columns\n","factors.transpose()"],"execution_count":28,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>0</th>\n","      <th>1</th>\n","      <th>2</th>\n","      <th>3</th>\n","      <th>4</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>A1</th>\n","      <td>0.111126</td>\n","      <td>0.040465</td>\n","      <td>0.022798</td>\n","      <td>-0.428166</td>\n","      <td>-0.077931</td>\n","    </tr>\n","    <tr>\n","      <th>A2</th>\n","      <td>0.029588</td>\n","      <td>0.213716</td>\n","      <td>0.139037</td>\n","      <td>0.626946</td>\n","      <td>0.062139</td>\n","    </tr>\n","    <tr>\n","      <th>A3</th>\n","      <td>0.009357</td>\n","      <td>0.317848</td>\n","      <td>0.109331</td>\n","      <td>0.650743</td>\n","      <td>0.056196</td>\n","    </tr>\n","    <tr>\n","      <th>A4</th>\n","      <td>-0.066476</td>\n","      <td>0.204566</td>\n","      <td>0.230584</td>\n","      <td>0.435624</td>\n","      <td>-0.112700</td>\n","    </tr>\n","    <tr>\n","      <th>A5</th>\n","      <td>-0.122113</td>\n","      <td>0.393034</td>\n","      <td>0.087869</td>\n","      <td>0.537087</td>\n","      <td>0.066708</td>\n","    </tr>\n","    <tr>\n","      <th>C1</th>\n","      <td>0.010416</td>\n","      <td>0.070184</td>\n","      <td>0.545824</td>\n","      <td>0.038878</td>\n","      <td>0.209584</td>\n","    </tr>\n","    <tr>\n","      <th>C2</th>\n","      <td>0.089574</td>\n","      <td>0.033270</td>\n","      <td>0.648731</td>\n","      <td>0.102782</td>\n","      <td>0.115434</td>\n","    </tr>\n","    <tr>\n","      <th>C3</th>\n","      <td>-0.030855</td>\n","      <td>0.023907</td>\n","      <td>0.557036</td>\n","      <td>0.111578</td>\n","      <td>-0.005183</td>\n","    </tr>\n","    <tr>\n","      <th>C4</th>\n","      <td>0.240410</td>\n","      <td>-0.064984</td>\n","      <td>-0.633806</td>\n","      <td>-0.037498</td>\n","      <td>-0.107535</td>\n","    </tr>\n","    <tr>\n","      <th>C5</th>\n","      <td>0.290318</td>\n","      <td>-0.176395</td>\n","      <td>-0.562467</td>\n","      <td>-0.047525</td>\n","      <td>0.036822</td>\n","    </tr>\n","    <tr>\n","      <th>E1</th>\n","      <td>0.042819</td>\n","      <td>-0.574835</td>\n","      <td>0.033144</td>\n","      <td>-0.104813</td>\n","      <td>-0.058795</td>\n","    </tr>\n","    <tr>\n","      <th>E2</th>\n","      <td>0.244743</td>\n","      <td>-0.678731</td>\n","      <td>-0.102483</td>\n","      <td>-0.112517</td>\n","      <td>-0.042010</td>\n","    </tr>\n","    <tr>\n","      <th>E3</th>\n","      <td>0.024180</td>\n","      <td>0.536816</td>\n","      <td>0.083010</td>\n","      <td>0.257906</td>\n","      <td>0.280877</td>\n","    </tr>\n","    <tr>\n","      <th>E4</th>\n","      <td>-0.115614</td>\n","      <td>0.646833</td>\n","      <td>0.102023</td>\n","      <td>0.306101</td>\n","      <td>-0.073422</td>\n","    </tr>\n","    <tr>\n","      <th>E5</th>\n","      <td>0.036145</td>\n","      <td>0.504069</td>\n","      <td>0.312899</td>\n","      <td>0.090354</td>\n","      <td>0.213739</td>\n","    </tr>\n","    <tr>\n","      <th>N1</th>\n","      <td>0.786807</td>\n","      <td>0.078923</td>\n","      <td>-0.045997</td>\n","      <td>-0.216363</td>\n","      <td>-0.084704</td>\n","    </tr>\n","    <tr>\n","      <th>N2</th>\n","      <td>0.754109</td>\n","      <td>0.027301</td>\n","      <td>-0.030568</td>\n","      <td>-0.193744</td>\n","      <td>-0.010304</td>\n","    </tr>\n","    <tr>\n","      <th>N3</th>\n","      <td>0.731721</td>\n","      <td>-0.061430</td>\n","      <td>-0.067084</td>\n","      <td>-0.027712</td>\n","      <td>-0.004217</td>\n","    </tr>\n","    <tr>\n","      <th>N4</th>\n","      <td>0.590602</td>\n","      <td>-0.345388</td>\n","      <td>-0.178902</td>\n","      <td>0.005886</td>\n","      <td>0.075225</td>\n","    </tr>\n","    <tr>\n","      <th>N5</th>\n","      <td>0.537858</td>\n","      <td>-0.161291</td>\n","      <td>-0.037309</td>\n","      <td>0.100931</td>\n","      <td>-0.149769</td>\n","    </tr>\n","    <tr>\n","      <th>O1</th>\n","      <td>-0.002224</td>\n","      <td>0.213005</td>\n","      <td>0.115080</td>\n","      <td>0.061550</td>\n","      <td>0.504907</td>\n","    </tr>\n","    <tr>\n","      <th>O2</th>\n","      <td>0.175788</td>\n","      <td>0.004560</td>\n","      <td>-0.099729</td>\n","      <td>0.081809</td>\n","      <td>-0.468925</td>\n","    </tr>\n","    <tr>\n","      <th>O3</th>\n","      <td>0.026736</td>\n","      <td>0.310956</td>\n","      <td>0.076873</td>\n","      <td>0.126889</td>\n","      <td>0.596007</td>\n","    </tr>\n","    <tr>\n","      <th>O4</th>\n","      <td>0.220582</td>\n","      <td>-0.191196</td>\n","      <td>-0.021906</td>\n","      <td>0.155475</td>\n","      <td>0.369012</td>\n","    </tr>\n","    <tr>\n","      <th>O5</th>\n","      <td>0.085401</td>\n","      <td>-0.005347</td>\n","      <td>-0.062730</td>\n","      <td>-0.010384</td>\n","      <td>-0.533778</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["           0         1         2         3         4\n","A1  0.111126  0.040465  0.022798 -0.428166 -0.077931\n","A2  0.029588  0.213716  0.139037  0.626946  0.062139\n","A3  0.009357  0.317848  0.109331  0.650743  0.056196\n","A4 -0.066476  0.204566  0.230584  0.435624 -0.112700\n","A5 -0.122113  0.393034  0.087869  0.537087  0.066708\n","C1  0.010416  0.070184  0.545824  0.038878  0.209584\n","C2  0.089574  0.033270  0.648731  0.102782  0.115434\n","C3 -0.030855  0.023907  0.557036  0.111578 -0.005183\n","C4  0.240410 -0.064984 -0.633806 -0.037498 -0.107535\n","C5  0.290318 -0.176395 -0.562467 -0.047525  0.036822\n","E1  0.042819 -0.574835  0.033144 -0.104813 -0.058795\n","E2  0.244743 -0.678731 -0.102483 -0.112517 -0.042010\n","E3  0.024180  0.536816  0.083010  0.257906  0.280877\n","E4 -0.115614  0.646833  0.102023  0.306101 -0.073422\n","E5  0.036145  0.504069  0.312899  0.090354  0.213739\n","N1  0.786807  0.078923 -0.045997 -0.216363 -0.084704\n","N2  0.754109  0.027301 -0.030568 -0.193744 -0.010304\n","N3  0.731721 -0.061430 -0.067084 -0.027712 -0.004217\n","N4  0.590602 -0.345388 -0.178902  0.005886  0.075225\n","N5  0.537858 -0.161291 -0.037309  0.100931 -0.149769\n","O1 -0.002224  0.213005  0.115080  0.061550  0.504907\n","O2  0.175788  0.004560 -0.099729  0.081809 -0.468925\n","O3  0.026736  0.310956  0.076873  0.126889  0.596007\n","O4  0.220582 -0.191196 -0.021906  0.155475  0.369012\n","O5  0.085401 -0.005347 -0.062730 -0.010384 -0.533778"]},"metadata":{"tags":[]},"execution_count":28}]},{"cell_type":"code","metadata":{"id":"TSw18Z9LLGRT","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":68},"outputId":"0b886131-066e-4079-8a4f-3a1acbce25c1","executionInfo":{"status":"ok","timestamp":1590194425793,"user_tz":-120,"elapsed":4088,"user":{"displayName":"Michelangiolo Mazzeschi","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghg8l8QeAQA6fd1iPVc2f_F0XQpum7zRjrF4R7HRw=s64","userId":"15738155355555420240"}}},"source":["# Get variance of each factors\n","fv = pd.DataFrame(fa.get_factor_variance()).transpose()\n","fv.columns = ['SS Loadings', 'Proportion Var', 'Cumulative Var']\n","fv.transpose()\n","\n","#factor_names = ['Factor '+str(x) for x in range(1, 4)] provato a rinominare le colonne, riguardare \n","#fv.columns = factor_names\n","fa.get_factor_variance()"],"execution_count":31,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(array([2.70963262, 2.47308982, 2.04110563, 1.844498  , 1.52215296]),\n"," array([0.1083853 , 0.09892359, 0.08164423, 0.07377992, 0.06088612]),\n"," array([0.1083853 , 0.2073089 , 0.28895312, 0.36273304, 0.42361916]))"]},"metadata":{"tags":[]},"execution_count":31}]}]}